const autoprefixer = require("autoprefixer"); //自动管理浏览器前缀
const pxtorem = require("postcss-pxtorem"); //px自动转rem依赖包
const CompressionWebpackPlugin = require("compression-webpack-plugin"); // gzip

module.exports = {
    publicPath: "/",
    devServer: {
        open: true, // vue项目启动时自动打开浏览器
        proxy: {
            // '/api'是代理标识
            "/api": {
                target: "https://sp0.baidu.com", //正式环境目标地址(代理地址)
                changeOrigin: true, //允许跨域
                pathRewrite: {
                    "/api": ""
                } // pathRewrite 的作用是把实际Request Url中的'/api'用""代替
            }
        }
    },
    css: {
        loaderOptions: {
            postcss: {
                plugins: [
                    autoprefixer(),
                    pxtorem({
                        rootValue: 16, // 75表示750设计稿，37.5表示375设计稿
                        propList: ["*"], // 需要做转化处理的属性，如`hight`、`width`、`margin`等，`*`表示全部
                        selectorBlackList: ["van"] //vant设计稿为375，当以750设计稿为基础设置时，需要屏蔽vant
                    })
                ]
            }
        }
    },
    configureWebpack: config => {
        // 为生产环境修改配置...
        if (process.env.NODE_ENV === "production") {
            config.plugins.push(
                new CompressionWebpackPlugin({
                    algorithm: "gzip",
                    // 正在匹配需要压缩的文件后缀
                    test: /\.(js|css|json|html)$/,
                    // 大于10kb的会压缩
                    threshold: 10240 / 2,
                    minRatio: 0.8
                })
            );
        } else {
            config.devtool = "source-map";
        }
    },
    productionSourceMap: false
};
